1. Field
Systems and methods for controllable tone reproduction curve (TRC) adjustment of a halftone image using error diffusion and in particular, improved rank-ordered error diffusion are provided.
2. Description of Related Art
A general goal of reprographic systems, such as, printers and printing engines, is to produce prints with a high degree of image quality. One aspect of image quality is achievement of desired tone reproduction. There are many instances when a digital halftoned image requires a modification to achieve the desired tone reproduction in the printed or displayed image. For example, when reproducing an original or scanned image with halftone structure, the quality of the reproduced image depends significantly on the compatibility between the conditions surrounding the creation of the image file and the characteristics of the print engine(s) involved in rendering the reproduced image. If the conditions differ significantly, the digital image should be modified to achieve the desired tone reproduction on the print.
Images may be formatted as contone (continuous tone) images having a wide range of tonal values or quantized images having a limited number of tonal values. Binary images are quantized images that are capable of rendering pixels of the image as one of two tonal values (e.g., “1” or “0”; “on” or “off”, “marked” or “unmarked”). Thus, an image formatted as a binary image identifies each pixel of an image as either “marked” or “unmarked”. When a pixel is a high addressable pixel, the pixel itself is defined by two or more spots/dots, each of which is capable of being rendered as one of two tonal values. Thus, while high addressable pixels are still limited to a limited number of tonal values, they can help improve the quality of the reproduced image.
When an original image is formatted as a contone image and the marking or print engine being used to reproduce the image is a digital system which is capable of rendering pixels in a limited number of tonal values, such as a binary system or a high addressable system, to render the reproduced image, the binary or high addressable system subjects the original contone image to a “halftoning” process in order to increase the range of tonal values (gray or color levels) and to generate a binary image which substantially emulates the contone image using a pattern of pixels which approximate contone values. Dithering and error diffusion, such as, rank ordered error diffusion (ROED) are examples of halftoning processes which are known in the art. ROED is described, for example, in U.S. Patent Publication No. US 2003/0090729, which is hereby incorporated by reference in its entirety.
Cell-based, or tile-based, halftoning is a process which defines a pattern of pixel thresholds or a growth sequence as a halftone cell and that defined pattern may be used repeatedly during processing of an image. The pixels in the halftone cell are numbered in a specific order and the numbering identifies the sequence in which each of the pixels of the halftoned image is turned “on” or “off”. This numbering is called a “growth order”. The number of pixels processed by a halftone growth order within a halftone cell defines the tonal range of the halftone cell. For example, a 2×2 halftone cell (i.e., 4 pixel halftone cell) can have 5 different tonal values (e.g., black if all four pixels are “on”, white if all four pixels are “off”, and three intermediate shades of gray depending on whether one, two or three of the four pixels are “on”).
When a halftone image is to be printed, it is highly unlikely that the ink spots of the printing system being used will precisely match the pixel size and shape of the halftone image. Thus, the same print-ready image may appear different when rendered on different print engines for a variety of reasons including, different ink and/or toner materials, different substrates (e.g. papers), different marking processes, different halftones, or a different physical state for the given marking engine. The resulting engine dependent responses can be summarized by a collection of print engine tone reproduction curves (TRCs). Many image quality problems, such as, darkness shifts, changes in contrast, punch through artifacts in the highlights, and clipping in the shadows may occur when an incorrect print engine TRC is considered during the generation of the binary file. For these and other reasons, it is customary to prepare images based on the print engine dependent TRCs of the target printer.
The TRC or calibration curves of a printer are specific to each printing system and are typically experimentally derived using known methods. Therefore, when a contone image is received by a binary image reprographic system, the reprographic system generally processes the image considering the TRCs of the target print engine.
A large amount of print-ready binary halftone images exist in image archives as legacy documents or in “far away memory” such as fax machines and remote copy print. These print-ready halftone documents may have been prepared without knowledge of a given or desired print engine, and may have been prepared assuming a different printer, real or virtual. If the images were in a contone state, a simple TRC operation could be performed to modify the gray levels of the digital image so that they print with the desired tones. For binary images, such a simple operation is not possible given that each pixel is defined as one of two different possible values. Coarse adjustment of darkness and lightness can be achieved simply by toggling black and white pixel values within the image data as desired. For example, to darken and image, toggling white pixels to black can be achieved using morphological operations, and to lighten an image, toggling black pixels to white can be performed. This results in very coarse lightness/darkness adjustment and generally leads to sub-optimal results.
A similar problem occurs when attempting to print a scanned halftone image. Typically, if the frequency of a scanned halftone image is sufficiently low, for example, below 120 cpi, the particular tone reproduction characteristics of many existing reproduction systems has minimal effect. In this situation, the image is often reproduced with its given halftone screen (i.e., no de-screening) by employing simple thresholding, error diffusion or similar processing. While this halftone replication method works well for some very low frequency screens, with middle frequency and higher frequency screens, the print engine tone response has a more significant effect and can introduce unwanted artifacts that degrade image quality. Thus, higher frequency halftones are typically low pass filtered (de-screened), passed through a contone TRC operation, and then re-screened with a halftone that is suitable for the intended printer. While the above process can reproduce a scanned image, it has some drawbacks. The de-screening process typically introduces blur into the image. Furthermore, although passing scanned halftones using error diffusion can be used to reproduce low frequency halftone screens without introducing serious artifacts, it does not ensure the rendered image has compact halftone dots resulting in images that are prone to noise and instability.
To help improve the quality of the reproduced image, some methods have been developed for adjusting TRCs. For example, U.S. Pat. No. 6,717,700 discloses a method for adjusting a print-ready binary image based on the difference between the TRC of the original printer and the TRC of the target printer being used to reproduce the original or scanned image. That is, an electronic binary image is converted to another electronic binary image that compensates for the differences between printers, based on the TRC of each printer, so that a target printer can more closely emulate how the image would appear if printed by the originally intended printer.
U.S. Pat. No. 6,055,065 also discloses a method for matching print outputs from two different characteristics. According to this method, a printing decision matrix to be used by the second printer is generated based on the printing decision matrix used by the first printer, the characteristics of the first printer and the characteristics of the second printer.
U.S. Pat. No. 6,704,123 discloses a method for applying tonal correction to a binary halftone image formatted in a bit-mapped manner. In the method disclosed therein, only the edge pixels of an image are modified based on the average tonal value for each selected edge pixel, as calculated from the original image, and a calibrated tone obtained from a supplied calibration curve for the target pixel to be used to reproduce the image. By only modifying the edge pixels the halftone clusters of the original binary halftone image simply inflate or shrink without generating new isolated pixels or clusters.
U.S. Patent Publication No. 2003/0218780 discloses a technique for adjusting the dot sizes of bitmap image files. The technique disclosed therein identifies the edges of the halftone dots and either selectively adds or removes binary pixels to or form these edges to control the size of the halftone dots.
The prior methods have several shortcomings such as, they may focus on simple lighter/darker adjustments rather than specification of well controlled TRCs, they may not be computationally efficient or be readily applicable to high speed hardware implementation, and they may lead to halftone dots that are not compact thereby causing noise and instability. What is needed is a hardware friendly and efficient method of applying a tone reproduction curve to a halftoned image while maintaining the integrity of the halftone dots.